.CodeMirror {
	font-family: monospace, "BlinkMacSystemFont", "Helvetica Neue", Helvetica, "Microsoft YaHei", "微软雅黑", "Arial", "Lucida Grande", "Segoe UI", Ubuntu, Cantarell, sans-serif;
	background-color: #fcfdfe;
	height: 100%;

	.CodeMirror-gutters, .CodeMirror-lines {
		padding-right: 10px;
	}

	.CodeMirror-gutters {
		background-color: #fcfdfe;
		border-right: 0;
	}

	.CodeMirror-linenumber {
		padding-right: 15px;
		color: rgba($color: #999, $alpha: 0.5);
	}

	pre {
		word-wrap: break-word;
    white-space: pre-wrap;
		word-break: normal;
		padding: 0 4px;

		span {
			line-height: 1.5;
		}
	}

	/* start: CODE */
	.cm-keyword {
		font-weight: bold;
	}
	/* end: CODE */

	/* start---table */
	.table-row {
		.cm-table-sep {
			font-weight: bold;
			color: #999;
		}

		&.table-row-1 {
			font-weight: bold;
			color: #999;
		}
	}
	/* end---table */

	.CodeMirror-line {
		&.header {
			position: relative;
			padding-bottom: 10px;
			word-break: break-all;
			word-wrap: break-word;
			hyphens: auto;

			&::after {
				content: "";
				display: block;
				position: absolute;
				bottom: 5px;
				width: 100%;
				height: 1px;
				background-color: #eee;
			}
		}
	}

	.cm-header {
		&.cm-header-1 {
			font-size: 1.5em;

			&.cm-header-hash {
				font-size: 1.45em;
			}
		}

		&.cm-header-2 {
			font-size: 1.4em;

			&.cm-header-hash {
				font-size: 1.35em;
			}
		}

		&.cm-header-3 {
			font-size: 1.3em;

			&.cm-header-hash {
				font-size: 1.25em;
			}
		}

		&.cm-header-4 {
			font-size: 1.2em;

			&.cm-header-hash {
				font-size: 1.15em;
			}
		}

		&.cm-header-5 {
			font-size: 1.1em;

			&.cm-header-hash {
				font-size: 1.05em
			}
		}

		&.cm-header-6 {
			font-size: 1em;

			&.cm-header-hash {
				font-size: 1em;
			}
		}

		&.cm-header-hash {
			color: rgba(102, 128, 153, 0.4);
		}
	}

	.cm-em, .cm-strong {
		color: #fd9526;
	}

	.cm-formatting-latex-block {
		font-size: 1.2em;
		font-weight: bold;
		padding: 0 !important;
		color: #caa;
		font-style: italic;
	}

	.cm-inline-code {
		vertical-align: baseline;
		font-size: .85em;
		margin: 0 .2em;
		color: #fd9526;
    padding: .14em 0.4em;
		background-color: rgba(128,128,128,0.075);
		border-radius: 4px;
		border: #f5bebe solid 1px;
	}



	.cm-inline-latex {
		padding: 0 .4em;
		color: #164;

		&.cm-formatting-inline-latex {
			padding: 0;
			color: #caa;
			font-style: italic;
		}
	}

	.cm-block-latex {
		padding: 0;
		color: #caa;
		font-style: italic;
	}

	.cheers-codeblock {
		padding: .3em .5em;
		font-size: .9em;
	}

	.cheers-codeblock-bg {
		background-color: #F3F3F3;

		&.cheers-codeblock-begin-bg {
			border-top-left-radius: 10px;
    	border-top-right-radius: 10px;
		}

		&.cheers-codeblock-end-bg {
			border-bottom-left-radius: 10px;
    	border-bottom-right-radius: 10px;
		}
	}
}
